Networking & Communication

This week’s assignment was to design and build a network between two processors. At first I thought this assignment was simple, as it turns out, this week was very difficult. In total I made 6 boards in an attempt to complete the assignment. This has been a positive thing however, as I’ve built on my skills in EagleCad. I asked my instructor for advice on what would be a good thing to do and she suggested making 3 networking boards. This was quite the challenge as there was much room for error as a beginner. These boards had a lot of components that needed to be placed very particularly. I used our Roland Modela to mill them out, and a vinyl sticker stencil to lay out the solder. I learned that it is best, when baking multiple boards, to not stack the PCB boards on top of one another, it interrupts the heat flow. One of my 4 pronged jumpers popped of my board like popcorn while baking! Once these board were complete, I had quite a few errors. I interpreted the schematic incorrectly and had a few ground traces disconnected. Jumper wires were used to correct the problem, then it was on to programming. At first, we used the Atmel ICE AVR programmer. This was tricky, as getting certain libraries to work was not very straight forward. At one point my “master” board was dropped and traces were broken. Also my “slave” boards had mistakes too. I even started it all over from scratch, this time hand soldering on the components. I scaled down my ambitions and decided to try programming with Arduino, as this is how I’ve programmed previous boards. Things went a lot smoother after that! This is my schematic. I used ATtiny 45s on my simple circuit. These were easier to burn the bootloader onto, using our Fab ISPs we had made earlier. In Arduino, I used some downloaded example sketches, TinyWireM & TinyWireS to build the master and slave codes. It was fairly simple after that to figure out what code I needed.  I have a much better understanding of programming and networking now!